package com.antifly.common.dao;

import com.antifly.common.pojo.entity.SysDictDO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * 数据字典表(SysDict)Dao接口
 *
 * @author makejava
 * @date 2023-04-25
 */
public interface SysDictDao extends IService<SysDictDO> {

    /**
     * 分页查询数据字典表信息
     * @param key 搜索关键字
     * @param pageNum 当前页码
     * @param pageSize 每页展示数 当值为-1时默认展示全部
     * @return
     */
    Page<SysDictDO> selectSysDictList(String key, Integer pageNum, Integer pageSize);

    /**
     * 查询所有数据字典表信息
     * @return
     */
    List<SysDictDO> selectSysDictList();
    
    /**
     * 查询所有数据字典表信息
     * 
     * @return
     */
    List<Map<String, Object>> selectMaps();
    
     /**
     * 根据id查询数据字典表信息
     * @param id 主键ID
     * @return
     */
     SysDictDO selectSysDictById(String id);

    /**
     * 插入数据字典表信息
     * @param sysDictDO 数据字典表信息
     * @return 数据字典表ID，失败为null
     */
    String insertSysDict(SysDictDO sysDictDO);

    /**
     * 更新数据字典表
     * @param sysDictDO 数据字典表信息
     * @return
     */
    Boolean updateSysDict(SysDictDO sysDictDO);


    /**
     * 删除数据字典表
     * @param sysDictId 数据字典表ID
     * @return
     */
    Boolean deleteSysDict(String sysDictId);


}